//
// Created by hjie on 23-9-17.
//

#pragma once

#include <string>
#include <memory>
#include <functional>
#include <map>
#include "base_logic_module.h"
#include <rapidjson/document.h>

class RoomReferenceData;

class HeartBeatModule : public BaseLogicModule
{
public:
    HeartBeatModule(const std::string & module);
    ~HeartBeatModule(){}
    virtual void RegisterMsg(MessageRouter * router);
public:
    std::shared_ptr<BaseProtocol> CreateProtocolData(const std::string & msg, rapidjson::Document & input);
public:
    void HeartBeat(RoomReferenceData * data, std::shared_ptr<BaseProtocol> & request);
};
